An off-line teaching system has hitherto been used for teaching of a robot. The off-line teaching system moves and rotates three-dimensional graphic data input to a computer by giving the amounts of movement and amounts of rotation of joints to be driven to a mechanism of an articulated robot or a peripheral device such as a positioner or a traveling carriage, displays the graphic data on a display screen, and creates the working trajectory of the robot.
The articulated robot or the peripheral device, such as the positioner, is expressed by a link mechanism that defines the axial directions of joints (joint parts, axis parts) for rotating operation and translating operation and links between the joints.
In particular, for example, a multi-joint link mechanism of a positioner is constituted by driving joints to be driven by a motor. However, a certain type of multi-joint link mechanism includes not only the driving joints but also follower joints that move in operating association with the movements of the driving joints.
When calculating the motion of such a multi-joint link mechanism, it is preferable to give the amounts of movement/rotation of the driving joints necessary and sufficient to determine the motion of the multi-joint link mechanism and to derive the amounts of movement/rotation of the follower joints, for example, by calculation using a geometric analysis method or convergent calculation using the Jacobian matrix. By moving and rotating graphic data according to the derivation result, graphic display of teaching data can be achieved.
Since the above-described method determines the position and pose of the distal end of a device serving as an object by giving the amounts of movement/rotation of the driving joints, it corresponds to a forward transform (forward kinematics) in robotics in a broad sense. Such a calculation method is established as a conventional technique that automatically defines a loop mechanism (a closed polygon formed by connecting links) of a multi-joint link mechanism, for example, by mechanism analysis of CAD software, and calculates the behavior when a predetermined joint is operated (see, for example, NPL 1).
On the other hand, in an operation of creating off-line teaching data using the computer, for example, when a portion of a device including follower joints to be originally moved is a positioner for a workpiece, it is necessary to derive the values of amounts of movement/rotation of driving joints for moving the position and pose of the workpiece mounted in the device to a desired position and pose within the degree of freedom of the device. Since this is a problem reverse to the above-described forward transform that determines the position and pose of the distal end of the device by giving the amounts of movement/rotation of the driving joints, it is called an inverse transform (inverse kinematics) in robotics, and is a so-called inverse problem in the field of engineering.
When the multi-joint link mechanism of the device serving as the object always has a steady (fixed) structure, calculation for the inverse transform is not so difficult because it can use a geometric (analytical) solution.
However, the multi-joint link mechanism serving as the object has various structures. Even when the object is limited to a positioner, there are positioners having various structures (for example, FIGS. 2 and 8 of this embodiment). For this reason, the inverse transform using the geometric solution cannot be used for multi-joint link mechanisms having different structures, and it is necessary to prepare all geometric solutions to deal with all possible multi-joint link mechanisms beforehand.
Nonetheless, there are limitless combinations of multi-joint link mechanisms, and it is not realistic but is impossible to prepare all geometric solutions therefor beforehand. There is no geometric (analytical) solution that can deal with any multi-joint link mechanism regardless of definition. Hence, teaching data is created by a method in which the device is operated by a forward transform while moving the driving joints little by little and the position and pose of the object portion is adopted when it falls within the acceptable range for the desired position and pose. This method takes much calculation time or places burden on the operator.
For example, PTL 1 discloses a technique relating to a mechanism analysis modeling system that is considered to be usable for an inverse transform of a multi-joint link mechanism.
That is, PTL 1 discloses a mechanism analysis modeling system in a system that creates a link mechanism analysis model on the basis of the shapes of mechanism components displayed on a CAD drawing by using a CAD-drawing creating device. The mechanism analysis modeling system automatically transforms the input link mechanism analysis model into the link mechanism analysis model that is equivalent to the input link mechanism analysis model and is formed by a loop including independent variables in pose analysis of a mechanism system.